package com.bestescortbedsystem.entity;

import java.util.ArrayList;
import java.util.List;

public class SesUserFeedbackExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Long offset;

    public SesUserFeedbackExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Long offset) {
        this.offset = offset;
    }

    public Long getOffset() {
        return offset;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andUserfeedbackidIsNull() {
            addCriterion("userfeedbackId is null");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackidIsNotNull() {
            addCriterion("userfeedbackId is not null");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackidEqualTo(Long value) {
            addCriterion("userfeedbackId =", value, "userfeedbackid");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackidNotEqualTo(Long value) {
            addCriterion("userfeedbackId <>", value, "userfeedbackid");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackidGreaterThan(Long value) {
            addCriterion("userfeedbackId >", value, "userfeedbackid");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackidGreaterThanOrEqualTo(Long value) {
            addCriterion("userfeedbackId >=", value, "userfeedbackid");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackidLessThan(Long value) {
            addCriterion("userfeedbackId <", value, "userfeedbackid");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackidLessThanOrEqualTo(Long value) {
            addCriterion("userfeedbackId <=", value, "userfeedbackid");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackidIn(List<Long> values) {
            addCriterion("userfeedbackId in", values, "userfeedbackid");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackidNotIn(List<Long> values) {
            addCriterion("userfeedbackId not in", values, "userfeedbackid");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackidBetween(Long value1, Long value2) {
            addCriterion("userfeedbackId between", value1, value2, "userfeedbackid");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackidNotBetween(Long value1, Long value2) {
            addCriterion("userfeedbackId not between", value1, value2, "userfeedbackid");
            return (Criteria) this;
        }

        public Criteria andUserUseridIsNull() {
            addCriterion("user_userId is null");
            return (Criteria) this;
        }

        public Criteria andUserUseridIsNotNull() {
            addCriterion("user_userId is not null");
            return (Criteria) this;
        }

        public Criteria andUserUseridEqualTo(Long value) {
            addCriterion("user_userId =", value, "userUserid");
            return (Criteria) this;
        }

        public Criteria andUserUseridNotEqualTo(Long value) {
            addCriterion("user_userId <>", value, "userUserid");
            return (Criteria) this;
        }

        public Criteria andUserUseridGreaterThan(Long value) {
            addCriterion("user_userId >", value, "userUserid");
            return (Criteria) this;
        }

        public Criteria andUserUseridGreaterThanOrEqualTo(Long value) {
            addCriterion("user_userId >=", value, "userUserid");
            return (Criteria) this;
        }

        public Criteria andUserUseridLessThan(Long value) {
            addCriterion("user_userId <", value, "userUserid");
            return (Criteria) this;
        }

        public Criteria andUserUseridLessThanOrEqualTo(Long value) {
            addCriterion("user_userId <=", value, "userUserid");
            return (Criteria) this;
        }

        public Criteria andUserUseridIn(List<Long> values) {
            addCriterion("user_userId in", values, "userUserid");
            return (Criteria) this;
        }

        public Criteria andUserUseridNotIn(List<Long> values) {
            addCriterion("user_userId not in", values, "userUserid");
            return (Criteria) this;
        }

        public Criteria andUserUseridBetween(Long value1, Long value2) {
            addCriterion("user_userId between", value1, value2, "userUserid");
            return (Criteria) this;
        }

        public Criteria andUserUseridNotBetween(Long value1, Long value2) {
            addCriterion("user_userId not between", value1, value2, "userUserid");
            return (Criteria) this;
        }

        public Criteria andUserUserOrderidIsNull() {
            addCriterion("user_user_orderId is null");
            return (Criteria) this;
        }

        public Criteria andUserUserOrderidIsNotNull() {
            addCriterion("user_user_orderId is not null");
            return (Criteria) this;
        }

        public Criteria andUserUserOrderidEqualTo(Long value) {
            addCriterion("user_user_orderId =", value, "userUserOrderid");
            return (Criteria) this;
        }

        public Criteria andUserUserOrderidNotEqualTo(Long value) {
            addCriterion("user_user_orderId <>", value, "userUserOrderid");
            return (Criteria) this;
        }

        public Criteria andUserUserOrderidGreaterThan(Long value) {
            addCriterion("user_user_orderId >", value, "userUserOrderid");
            return (Criteria) this;
        }

        public Criteria andUserUserOrderidGreaterThanOrEqualTo(Long value) {
            addCriterion("user_user_orderId >=", value, "userUserOrderid");
            return (Criteria) this;
        }

        public Criteria andUserUserOrderidLessThan(Long value) {
            addCriterion("user_user_orderId <", value, "userUserOrderid");
            return (Criteria) this;
        }

        public Criteria andUserUserOrderidLessThanOrEqualTo(Long value) {
            addCriterion("user_user_orderId <=", value, "userUserOrderid");
            return (Criteria) this;
        }

        public Criteria andUserUserOrderidIn(List<Long> values) {
            addCriterion("user_user_orderId in", values, "userUserOrderid");
            return (Criteria) this;
        }

        public Criteria andUserUserOrderidNotIn(List<Long> values) {
            addCriterion("user_user_orderId not in", values, "userUserOrderid");
            return (Criteria) this;
        }

        public Criteria andUserUserOrderidBetween(Long value1, Long value2) {
            addCriterion("user_user_orderId between", value1, value2, "userUserOrderid");
            return (Criteria) this;
        }

        public Criteria andUserUserOrderidNotBetween(Long value1, Long value2) {
            addCriterion("user_user_orderId not between", value1, value2, "userUserOrderid");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackimageIsNull() {
            addCriterion("userfeedbackImage is null");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackimageIsNotNull() {
            addCriterion("userfeedbackImage is not null");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackimageEqualTo(String value) {
            addCriterion("userfeedbackImage =", value, "userfeedbackimage");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackimageNotEqualTo(String value) {
            addCriterion("userfeedbackImage <>", value, "userfeedbackimage");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackimageGreaterThan(String value) {
            addCriterion("userfeedbackImage >", value, "userfeedbackimage");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackimageGreaterThanOrEqualTo(String value) {
            addCriterion("userfeedbackImage >=", value, "userfeedbackimage");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackimageLessThan(String value) {
            addCriterion("userfeedbackImage <", value, "userfeedbackimage");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackimageLessThanOrEqualTo(String value) {
            addCriterion("userfeedbackImage <=", value, "userfeedbackimage");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackimageLike(String value) {
            addCriterion("userfeedbackImage like", value, "userfeedbackimage");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackimageNotLike(String value) {
            addCriterion("userfeedbackImage not like", value, "userfeedbackimage");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackimageIn(List<String> values) {
            addCriterion("userfeedbackImage in", values, "userfeedbackimage");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackimageNotIn(List<String> values) {
            addCriterion("userfeedbackImage not in", values, "userfeedbackimage");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackimageBetween(String value1, String value2) {
            addCriterion("userfeedbackImage between", value1, value2, "userfeedbackimage");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackimageNotBetween(String value1, String value2) {
            addCriterion("userfeedbackImage not between", value1, value2, "userfeedbackimage");
            return (Criteria) this;
        }

        public Criteria andUserfeedbacktypeIsNull() {
            addCriterion("userfeedbackType is null");
            return (Criteria) this;
        }

        public Criteria andUserfeedbacktypeIsNotNull() {
            addCriterion("userfeedbackType is not null");
            return (Criteria) this;
        }

        public Criteria andUserfeedbacktypeEqualTo(String value) {
            addCriterion("userfeedbackType =", value, "userfeedbacktype");
            return (Criteria) this;
        }

        public Criteria andUserfeedbacktypeNotEqualTo(String value) {
            addCriterion("userfeedbackType <>", value, "userfeedbacktype");
            return (Criteria) this;
        }

        public Criteria andUserfeedbacktypeGreaterThan(String value) {
            addCriterion("userfeedbackType >", value, "userfeedbacktype");
            return (Criteria) this;
        }

        public Criteria andUserfeedbacktypeGreaterThanOrEqualTo(String value) {
            addCriterion("userfeedbackType >=", value, "userfeedbacktype");
            return (Criteria) this;
        }

        public Criteria andUserfeedbacktypeLessThan(String value) {
            addCriterion("userfeedbackType <", value, "userfeedbacktype");
            return (Criteria) this;
        }

        public Criteria andUserfeedbacktypeLessThanOrEqualTo(String value) {
            addCriterion("userfeedbackType <=", value, "userfeedbacktype");
            return (Criteria) this;
        }

        public Criteria andUserfeedbacktypeLike(String value) {
            addCriterion("userfeedbackType like", value, "userfeedbacktype");
            return (Criteria) this;
        }

        public Criteria andUserfeedbacktypeNotLike(String value) {
            addCriterion("userfeedbackType not like", value, "userfeedbacktype");
            return (Criteria) this;
        }

        public Criteria andUserfeedbacktypeIn(List<String> values) {
            addCriterion("userfeedbackType in", values, "userfeedbacktype");
            return (Criteria) this;
        }

        public Criteria andUserfeedbacktypeNotIn(List<String> values) {
            addCriterion("userfeedbackType not in", values, "userfeedbacktype");
            return (Criteria) this;
        }

        public Criteria andUserfeedbacktypeBetween(String value1, String value2) {
            addCriterion("userfeedbackType between", value1, value2, "userfeedbacktype");
            return (Criteria) this;
        }

        public Criteria andUserfeedbacktypeNotBetween(String value1, String value2) {
            addCriterion("userfeedbackType not between", value1, value2, "userfeedbacktype");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackdateIsNull() {
            addCriterion("userfeedbackDate is null");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackdateIsNotNull() {
            addCriterion("userfeedbackDate is not null");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackdateEqualTo(String value) {
            addCriterion("userfeedbackDate =", value, "userfeedbackdate");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackdateNotEqualTo(String value) {
            addCriterion("userfeedbackDate <>", value, "userfeedbackdate");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackdateGreaterThan(String value) {
            addCriterion("userfeedbackDate >", value, "userfeedbackdate");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackdateGreaterThanOrEqualTo(String value) {
            addCriterion("userfeedbackDate >=", value, "userfeedbackdate");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackdateLessThan(String value) {
            addCriterion("userfeedbackDate <", value, "userfeedbackdate");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackdateLessThanOrEqualTo(String value) {
            addCriterion("userfeedbackDate <=", value, "userfeedbackdate");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackdateLike(String value) {
            addCriterion("userfeedbackDate like", value, "userfeedbackdate");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackdateNotLike(String value) {
            addCriterion("userfeedbackDate not like", value, "userfeedbackdate");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackdateIn(List<String> values) {
            addCriterion("userfeedbackDate in", values, "userfeedbackdate");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackdateNotIn(List<String> values) {
            addCriterion("userfeedbackDate not in", values, "userfeedbackdate");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackdateBetween(String value1, String value2) {
            addCriterion("userfeedbackDate between", value1, value2, "userfeedbackdate");
            return (Criteria) this;
        }

        public Criteria andUserfeedbackdateNotBetween(String value1, String value2) {
            addCriterion("userfeedbackDate not between", value1, value2, "userfeedbackdate");
            return (Criteria) this;
        }

        public Criteria andBedtypeidIsNull() {
            addCriterion("bedtypeId is null");
            return (Criteria) this;
        }

        public Criteria andBedtypeidIsNotNull() {
            addCriterion("bedtypeId is not null");
            return (Criteria) this;
        }

        public Criteria andBedtypeidEqualTo(Long value) {
            addCriterion("bedtypeId =", value, "bedtypeid");
            return (Criteria) this;
        }

        public Criteria andBedtypeidNotEqualTo(Long value) {
            addCriterion("bedtypeId <>", value, "bedtypeid");
            return (Criteria) this;
        }

        public Criteria andBedtypeidGreaterThan(Long value) {
            addCriterion("bedtypeId >", value, "bedtypeid");
            return (Criteria) this;
        }

        public Criteria andBedtypeidGreaterThanOrEqualTo(Long value) {
            addCriterion("bedtypeId >=", value, "bedtypeid");
            return (Criteria) this;
        }

        public Criteria andBedtypeidLessThan(Long value) {
            addCriterion("bedtypeId <", value, "bedtypeid");
            return (Criteria) this;
        }

        public Criteria andBedtypeidLessThanOrEqualTo(Long value) {
            addCriterion("bedtypeId <=", value, "bedtypeid");
            return (Criteria) this;
        }

        public Criteria andBedtypeidIn(List<Long> values) {
            addCriterion("bedtypeId in", values, "bedtypeid");
            return (Criteria) this;
        }

        public Criteria andBedtypeidNotIn(List<Long> values) {
            addCriterion("bedtypeId not in", values, "bedtypeid");
            return (Criteria) this;
        }

        public Criteria andBedtypeidBetween(Long value1, Long value2) {
            addCriterion("bedtypeId between", value1, value2, "bedtypeid");
            return (Criteria) this;
        }

        public Criteria andBedtypeidNotBetween(Long value1, Long value2) {
            addCriterion("bedtypeId not between", value1, value2, "bedtypeid");
            return (Criteria) this;
        }
    }

    /**
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}